The Effect of Code Expanding Optimizations on Instruction Cache Design
نویسندگان
چکیده
This paper shows that code expanding optimizations have strong and non-intuitive implications on instruction cache design. Three types of code expanding optimizations are studied in this paper: instruction placement, function inline expansion, and superscalar optimizations. Overall, instruction placement reduces the miss ratio of small caches. Function inline expansion improves the performance for small cache sizes, but degrades the performance of medium caches. Superscalar optimizations increases the cache size required for a given miss ratio. On the other hand, they also increase the sequentiality of instruction access so that a simple load-forward scheme e ectively cancels the negative e ects. Overall, we show that with load forwarding, the three types of code expanding optimizations jointly improve the performance of small caches and have little e ect on large caches. Index terms C compiler, code optimization, cache memory, code expansion, load forwarding, instruction placement, function inline expansion, superscalar optimizations. The authors are with the Center for Reliable and High-Performance Computing, University of Illinois, UrbanaChampaign, Illinois, 61801.
منابع مشابه
The E ect of Code Expanding Optimizations on Instruction Cache Design
This paper shows that code expanding optimizations have strong and non-intuitive implications on instruction cache design. Three types of code expanding optimizations are studied in this paper: instruction placement, function inline expansion, and superscalar optimizations. Overall, instruction placement reduces the miss ratio of small caches. Function inline expansion improves the performance ...
متن کاملThe E ect of Code Expanding
This paper shows that code expanding optimizations have strong and non-intuitive implications on instruction cache design. Three types of code expanding optimizations are studied in this paper: instruction placement, function inline expansion, and superscalar optimizations. Overall, instruction placement reduces the miss ratio of small caches. Function inline expansion improves the performance ...
متن کاملThe Eeect of Code Expanding Optimizations on Instruction Cache Design
This paper shows that code expanding optimizations have strong and non-intuitive implications on instruction cache design. Three types of code expanding optimizations are studied in this paper: instruction placement, function inline expansion, and superscalar optimizations. Overall, instruction placement reduces the miss ratio of small caches. Function inline expansion improves the performance ...
متن کاملFast and Efficient Partial Code Reordering: Taking Advantage of Dynamic Recompilation
Poor instruction cache locality can degrade performance on modern architectures. For example, our simulation results show that eliminating all instruction cache misses improves performance by as much as 16% for a modestly sized instruction cache. In this paper, we show how to take advantage of dynamic code generation in a Java Virtual Machine (VM) to improve instruction locality at run-time. We...
متن کاملCode Size Efficiency in Global Scheduling for VLIW/EPIC Style Embedded Processors
In embedded computing, code size is very important for system cost and performance. In global scheduling for VLIW/EPIC style embedded processors, region-enlarging optimizations, especially tail duplication, are commonly used to exploit instruction level parallelism (ILP) to boost the performance. The code size increase due to such optimizations, however, raises serious concerns about the affect...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- IEEE Trans. Computers
دوره 42 شماره
صفحات -
تاریخ انتشار 1993